SUMMARY:
All this does is check if 1 byte isn't 0.
The second scan for multiple bits will get the changes that occur and treat them as bits, and then you can toggle those changes on or off.
This is here when scanning for 1 bit doesn't find what you are looking for.


NOTE:
Most of the time, a bit is turned on when an effect is activated.  Some games do it the opposite way, they turn a bit off to activate an effect.  Try both ways.  Multiple games come to mind:
1.  Dark Cloud 1 and 2 turn bits on to activate status ailments.  Many RPGs activate status ailments like Poison and Paralysis this way.
2.  Silent Hill 2 and 3 turn bits on to give you all items and weapons.
3.  Twisted Metal Black turns bits off to unlock characters.
4.  Shadow Of The Colossus turns bits off to mark collosi as dead.
This will catch many address's that store values instead of bits.  I can't think of a better way of doing it.


200ffd58 0c03ffc3 jal $000fff0c               Goes to the "Clear Results" function.
200ffd5c 25ad0001 addiu t5, t5, $0001         Go up 1 address.
200ffd60 118d0058 beq t4, t5, $000ffecc       Has it scanned all addresses?  If so, it's done.
200ffd64 91ab0000 lbu t3, $0000(t5)           Load byte to check.
200ffd68 100bfffc beq zero, t3, $000ffd64     If the byte is 0, check next result.
200ffd6c aded0000 sw t5, $0000(t7)            Store the result's address.
200ffd74 11cf0054 beq t6, t7, $000ffecc       Is there room for more results?  If not, it's done.
200ffd70 a1eb0004 sb t3, $0004(t7)            Store the result's bits.
200ffd7c 1000fff8 beq zero, zero, $000ffd64   There is still room for more results, so check next address.
200ffd78 25ef0008 addiu t7, t7, $0008         Add 8 to where the results are stored so the next result can be stored.